package com.itheima.edu.manager.dao;


import com.itheima.edu.manager.domain.Student;

public class StudentDao {
    //定义一个数组容器
    Student[] stus = new Student[5];

    //添加学生功能
    public boolean addStudent(Student stu) {
        //标记位思想: 假设数组索引为-1
        int index = -1;

        //遍历数组容器
        for (int i = 0; i < stus.length; i++) {
            //如果索引位置的值为null,表示是空的
            if (stus[i] == null) {
                index = i;
            }
        }
        //索引为-1表示添加失败,数组满了
        if (index == -1) {
            return false;
        } else {
            stus[index] = stu;
            return true;
        }
    }

    //查看学生功能
    public Student[] findAllStudent() {
        return stus;
    }

    //删除学生功能
    public boolean deleteStudent(String id) {
        int index = getIndex(id);

        if (index == -1) {
            return false;
        } else {
            stus[index] = null;
            return true;
        }
    }

    //修改学生功能
    public boolean updateStudent(String id,Student newStu) {
        int index = getIndex(id);

        if (index == -1) {
            return false;
        } else {
            stus[index] = newStu;
            return true;
        }
    }

    //设计一个方法,确定索引是否存在
    public int getIndex(String id) {
        //标记位思想: 先假设索引不存在
        int index = -1;

        //遍历数组
        for (int i = 0; i < stus.length; i++) {
            Student stu = stus[i];
            if (stu != null && stu.getId().equals(id)) {
                index = i;
            }
        }
        return index;
    }
}